package com.tangruojie.stream;

import com.tangruojie.entity.Author;

import java.util.List;

/**
 * 中间操作之 distinct 去重
 */
public class StreamDemo04 {

    public static void main(String[] args) {

        List<Author> authors = StreamDemoTest.getAuthors();

        /**
         * .distinct() 的底层依赖：equals() 和 hashCode()
         * ✅ 对象去重时的本质：
         * .distinct() 根据每个元素的 equals() 和 hashCode() 来判断是否重复。
         * 如果是自定义对象（如 Author），你必须重写 equals() 和 hashCode() 或使用 Lombok 的 @EqualsAndHashCode 注解。
         */
        authors.stream()
                .distinct()
                .forEach(System.out::println);

    }

}
